﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using SW_SoftBully.Models.ModuloServicios.MantenimientoPreventivo;
using SW_SoftBully.Models;
using SW_SoftBully.Controllers.ModuloServicio;
using SW_SoftBully.Models.ModuloServicios.ContratoPreventivo;
using SW_SoftBully.Models.ModuloServicios;
using SW_SoftBully.Models.ModuloAdministracion.Edificio;

namespace SW_SoftBully.Controllers
{
    public class MantenimientoPreventivoController : Controller
    {
        //
        // GET: /MantenimientoPreventivo/


        private SoftBullyDB db = new SoftBullyDB();
        MantenimientoPreventivoFacade mantenimientoPreventivoFacade = new MantenimientoPreventivoFacade();
        ContratoPreventivoFacade contratoPreventivoFacade = new ContratoPreventivoFacade();
        ContratoPreventivoDAO contratoPreventivoDAO = new ContratoPreventivoDAO();
        EdificioFacade edificioFacade = new EdificioFacade();

        public ActionResult Index()
        {
            return View();
        }

        public ActionResult MantenimientoPreventivo()
        {
            return View();
        }

        public ActionResult RegistrarMantenimientoPreventivo()
        {
            return View();
        }

        public ActionResult BuscarMantenimientoPreventivo()
        {
            return View();
        }


        [HttpPost]
        public JsonResult registrarMantenimientoPreventivo(MantenimientoPreventivoBean mantenimientoPreventivo)
        {
            string conexion = mantenimientoPreventivoFacade.RegistrarMantenimientoPreventivo(mantenimientoPreventivo);

            if (conexion == "Bien")
            {
                System.Diagnostics.Debug.WriteLine("--------------------------------------________HDP> " + mantenimientoPreventivo.conexion);
                return Json(new { me = "Se ingreso correctamente el Mantenimiento Preventivo" });
                //Console.WriteLine("Hola");
            }
            else
            {
                System.Diagnostics.Debug.WriteLine("--------------------------------------________MIERDA> " + mantenimientoPreventivo.conexion);
                return Json(new { me = "Existe un error en registrar Mantenimiento Preventivo" });
            }

        }      

        [HttpPost]
        public JsonResult buscarContratoPreventivo(ContratoPreventivoBean contratoPreventivo)
        {
            System.Diagnostics.Debug.WriteLine("--------------------------------------________HDP> " + contratoPreventivo.conexion);

           List<ContratoPreventivoBean> ListaContratoPreventivo = contratoPreventivoFacade.ListarContratoPreventivo2(contratoPreventivo);

           System.Diagnostics.Debug.WriteLine("--------------------------------------________MIERDA> " + contratoPreventivo.conexion);

            return Json(new { ListaContratoPreventivo });
        }

        [HttpPost]
        public JsonResult buscarMantenimientoPreventivo(MantenimientoPreventivoBean mantenimientoPreventivo)
        {
            System.Diagnostics.Debug.WriteLine("--------------------------------------________HDP> " + mantenimientoPreventivo.conexion);

            List<MantenimientoPreventivoBean> ListaMantenimientoPreventivo = mantenimientoPreventivoFacade.ListarMantenimientoPreventivo(mantenimientoPreventivo);

           System.Diagnostics.Debug.WriteLine("--------------------------------------________MIERDA> " + mantenimientoPreventivo.conexion);

            return Json(new {ListaMantenimientoPreventivo });
        }

        [HttpPost]
        public JsonResult modificarMantenimientoPreventivo(MantenimientoPreventivoBean mantenimientoPreventivo)
        {
            string conexion = mantenimientoPreventivoFacade.modificarMantenimiento(mantenimientoPreventivo);

            if (conexion == "Bien")
            {
                System.Diagnostics.Debug.WriteLine("--------------------------------------_________MIERDA> " + mantenimientoPreventivo.conexion);
                return Json(new { me = "Se modificó correctamente el " + mantenimientoPreventivo.id_mantenimiento_preventivo });
            }
            else
            {
                System.Diagnostics.Debug.WriteLine("--------------------------------------_________MIERDA> " + mantenimientoPreventivo.conexion);
                return Json(new { me = conexion });
            }
        }

        [HttpPost]
        public JsonResult cargarMantenibles(ContratoPreventivoBean contrato)
        {
            System.Diagnostics.Debug.WriteLine("--------------------------------------________HDP> " + contrato.descripcion);

            List<ContratoPreventivoBean> listaMantenimientos = contratoPreventivoFacade.ListarMantenimientos(contrato);

            System.Diagnostics.Debug.WriteLine("--------------------------------------_________MIERDA> " + contrato.conexion);

            return Json(new { listaMantenimientos });
        }

        
        [HttpPost]
        public JsonResult cargarTodosMantenibles(ContratoPreventivoBean contrato)
        {
            System.Diagnostics.Debug.WriteLine("--------------------------------------________HDP> " + contrato.NombreMantenible);

            List<ContratoPreventivoBean> listaTodosMantenimientos = contratoPreventivoDAO.ListarTodosMantenimientos(contrato);

            System.Diagnostics.Debug.WriteLine("--------------------------------------_________MIERDA> " + contrato.conexion);

            return Json(new { listaTodosMantenimientos });
        }

        
        [HttpPost]
        public JsonResult cargarProveedores(ContratoPreventivoBean contrato)
        {
            System.Diagnostics.Debug.WriteLine("--------------------------------------________HDP> " + contrato.NombreMantenible);

            List<ContratoPreventivoBean> listaProveedores = contratoPreventivoDAO.ListarProveedores(contrato);

            System.Diagnostics.Debug.WriteLine("--------------------------------------_________MIERDA> " + contrato.conexion);

            return Json(new { listaProveedores });
        }

        [HttpPost]
        public JsonResult cargarEdificios(EdificioBean edificio)
        {
            System.Diagnostics.Debug.WriteLine("--------------------------------------________HDP> " + edificio.Nombre);

            List<EdificioBean> listaEdificio = edificioFacade.Listaredificio(edificio);

            System.Diagnostics.Debug.WriteLine("--------------------------------------_________MIERDA> " + edificio.conexion);

            return Json(new { listaEdificio });
        }

        [HttpPost]
        public JsonResult TodosMisMantenibles(string nombremantenible)
        {
            List<ContratoPreventivoBean> listaTodosMisMantenibles = contratoPreventivoDAO.listaTodosMisMantenibles(nombremantenible);
            return Json(new { listaTodosMisMantenibles});
        }


        [HttpPost]
        public JsonResult eliminarMantenimientoPreventivo(MantenimientoPreventivoBean mantenimiento)
        {
            string conexion = mantenimientoPreventivoFacade.eliminarMantenimientoPreventivo(mantenimiento);

            if (conexion == "Bien")
            {
                System.Diagnostics.Debug.WriteLine("--------------------------------------_________MIERDA> " + mantenimiento.conexion);
                return Json(new { me = "Se eliminó correctamente + " + mantenimiento.id_mantenimiento_preventivo });
            }
            else
            {
                System.Diagnostics.Debug.WriteLine("--------------------------------------_________MIERDA> " + mantenimiento.conexion);
                return Json(new { me = conexion });
            }
        }
    }
}
